There has been known a method in which software is debugged by adding a routine for outputting a processing log to a source code of software being developed and analyzing a processing log outputted when the software is executed, in order to solve problems of software with a low reproducibility.
Debugging by such a method is also applied to a development process of software for controlling the operation of an image forming apparatus such as a printer. For example, assume the following situation: when print processing is performed based on outputted data with a particular color intended, a failure occurs that the output result is different from expected one because of a bug of developed software. In this case, conventional debugging has been performed by adding a routine for outputting a processing log to all source codes for performing processing or communication related to color data, acquiring a log about the color data for each module and analyzing the log.
However, the above-described conventional technique has the following problems.
(1) Since each of modules configuring software being developed outputs a log individually, it is necessary to analyze the respective logs after integrating them in order to verify the processing of the entire software. Therefore, a large number of man-hours are required until the position of a problem is found from the log analysis.
(2) Though it is necessary to arrange an appropriate log acquisition routine at an appropriate position in a source code in order to make it possible to quickly obtain meaningful information by analyzing a log, it is generally difficult to configure such a routine.
Therefore, there is proposed a configuration in which a log acquisition module is provided which mediates a call from a module corresponding to application software to a function existing in a different module and acquires a log of processing performed by the different module responding to the call, in software separated into multiple modules (see Japanese Patent Laid-Open No. 2004-38311 or U.S. Patent Publication No. US2004/0003326, for example). According to this configuration, a processing log can be acquired without adding a routine for outputting a processing log to each module.
(3) However, in this case also, the number of logs to be acquired may be very large in the case of software handling a great amount of data or because of the configuration of the log acquisition routine, so that the analysis work may be difficult. Especially in debugging work for software for an image forming apparatus, if all color data is stored in a log, it takes a lot of time to acquire the log and the size of a log file is very large. Therefore, it is difficult to obtain useful information by analyzing the log file, and a lot of man-hours are required for the analysis work.
As described above, in the conventional configuration, a great number of man-hours are required to analyze a processing log of software which handles color data.